A number of congestion control methods are known in the art. An exemplary congestion control method including a congestion notification element is disclosed in IEEE P802.11s, Draft Standard >>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications—Mesh Networking<<, version D7.03, November 2010, hereinafter referred to as >>draft standard<<. The structure of said congestion notification element is particularly described in section 7.3.2.99 of the draft standard.
In accordance with the aforementioned congestion control method, a mesh node that detects congestion may transmit a congestion notification element to the mesh nodes of its traffic source or other adjacent mesh nodes.
A major drawback of this known congestion control method is an inherent impreciseness in decreasing the congestion between the source and the mesh node detecting the congestion while affecting traffic between adjacent nodes which previously have not been affected by the congestion.
Reference will now be made to FIG. 1 which demonstrates the drawback mentioned above when applying said known congestion control method.
According to FIG. 1 a plurality of mesh nodes A,B,C,D,E are logically interconnected by links which are depicted by lines interconnecting some of the mesh nodes A,B,C,D,E. A first dataflow DF1 is ranging from a first mesh node A passing a second mesh node B and a third mesh node C to a fourth mesh node D, which is the destination node D of said first dataflow DF1. A second dataflow DF2, illustrated by a dotted line, is ranging from the first mesh node A passing the second mesh node B to a fifth mesh node E, which is the destination node E of said second dataflow DF2.
A link between the third mesh node C and the fourth mesh node D is affected by a reduced transfer rate because of a bottleneck BN of any kind between the third mesh node C and the fourth mesh node D. This bottleneck BN causes congestion at the third mesh node C. In order to decrease this congestion, the third mesh node C sends a—not shown—congestion notification to the source of its link, which is the adjacent second mesh node B.
Subsequently, the second mesh node B stops or decreases, or, in other words, postpones, sending data frames to the third mesh node C. These are data frames of the first data flow DF1. However, data frames are still sent by the second mesh node B to a fifth mesh node E along the second dataflow DF2 since the link between the second mesh node B and the fifth mesh node E is not affected by the bottleneck BN between the third mesh node C and the fourth mesh node D.
Inevitably, the second mesh node B is affected by congestion since the second mesh node B does not forward data frames to the third mesh node C any more but still receives data frames from an adjacent first mesh node A. Subsequently, the second mesh node B sends a congestion notification to the first mesh node A. Having received this notification, the first mesh node A will stop sending data frames to the second mesh node B. These are data frames of both the first data flow DF1 and the second data flow DF2.
The described scenario eventually leads to a situation, where the second data flow DF2 between the first mesh node A and the fifth mesh node E is stopped although the initial bottleneck between the third mesh node C and the fourth mesh node D has no negative impact on the second data flow DF2.